package BehavioralPattern.Observer.jdk;

import java.util.Observable;

/**
 * @Classname : ConcreteSubject
 * @Description : 具体被观察者类
 * @Author : chentianyu
 * @Date 2023/3/4 23:39
 */


public class ConcreteSubject extends Observable {

    private String message;

    public ConcreteSubject(String message) {
        this.message = message;
    }

    // 执行具体业务，并触发通知注册的观察者
    public void operate() {
        this.doSomething();
        this.notifyObservers(this.message);
    }

    private void doSomething() {
        System.out.println("电台：各位听众朋友好，欢迎收听今天的广播节目——" + this.message + "！");
        this.setChanged();  // 标识变更标识，才能通知到注册的观察者
    }
}
